.popup-overlay {
  position: fixed;
  background-color: var(--bgcolor-translucent);
  width: 100%;
  height: 100vh;
  z-index: 8;
  overscroll-behavior: contain;
}

.popup {
  width: 100%;
  height: 100vh;
  display: flex;
  position: fixed;
  overflow: hidden;
  left: 0;
  top: 0;
  z-index: 901;
  overscroll-behavior: contain;

  .popup-container {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    z-index: 10;
    margin: auto;
    max-width: 720px;
    max-height: 80%;
    background-color: var(--bgcolor-alt);
    box-shadow: variables.$medium-shadow;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
    padding: 0 20px 20px 20px;
    overscroll-behavior: contain;
    box-sizing: border-box;

    > div:last-of-type,
    > table:last-of-type {
      padding-bottom: 100px;
    }

    .close-icon {
      position: absolute;
      right: 0;
      top: 0;
      margin: 20px 20px 0 0;
      height: 38px;
      width: 38px;
      z-index: 5;
      cursor: pointer;
      border-radius: 25px;

      .vt-icon {
        height: 38px;
        width: 38px;
        position: unset;
      }
    }

    h1 {
      margin: 0 auto;
      font-size: 2rem;
      color: var(--theme-color);
      font-family: variables.$default-font;
      background-color: var(--bgcolor-alt);
      z-index: 2;

      @media screen and (min-width: variables.$mobile-width) {
        padding: 20px 0 0 0;
      }
    }

    h2 {
      padding: 40px 0 0 0;
      display: flex;

      .vt-icon {
        margin: auto 10px auto 0;
      }
    }

    h3 {
      padding: 20px 0 0 0;
    }

    > div {
      margin: 0 0 0 36px;
    }

    @media screen and (max-width: variables.$mobile-width) {
      max-width: 100%;
      max-height: unset;
      padding: 20px;

      .close-icon {
        margin: 25px 20px 0 0;
      }
    }
  }
}
